Compile error on Ubuntu 16.04 ('GpuThread' was not defined in this scope)
During compile there appears to be a missing definition somewhere.

Attempting to compile for a GTX 970

```
xenial@xenial-X9SAE:~/xmrig-nvidia$ mkdir build
xenial@xenial-X9SAE:~/xmrig-nvidia$ cd build/
xenial@xenial-X9SAE:~/xmrig-nvidia/build$ cmake .. -DCUDA_ARCH="30"
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found UV: /usr/lib/x86_64-linux-gnu/libuv.a
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found CUDA: /usr (found suitable version "7.5", minimum required is "7.5")
-- Could NOT find NVML (missing:  NVML_INCLUDE_DIR)
-- Looking for syslog.h
-- Looking for syslog.h - found
-- Found MHD: /usr/lib/x86_64-linux-gnu/libmicrohttpd.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/xenial/xmrig-nvidia/build
xenial@xenial-X9SAE:~/xmrig-nvidia/build$ make
[  2%] Building NVCC (Device) object CMakeFiles/xmrig-cuda.dir/src/nvidia/xmrig-cuda_generated_cuda_extra.cu.o
[  4%] Building NVCC (Device) object CMakeFiles/xmrig-cuda.dir/src/nvidia/xmrig-cuda_generated_cuda_core.cu.o
Scanning dependencies of target xmrig-cuda
[  6%] Linking CXX static library libxmrig-cuda.a
[  6%] Built target xmrig-cuda
Scanning dependencies of target xmrig-nvidia
[  8%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/api/NetworkState.cpp.o
[ 10%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/App.cpp.o
[ 12%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/config/CommonConfig.cpp.o
[ 14%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/config/ConfigLoader.cpp.o
[ 16%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/config/ConfigWatcher.cpp.o
[ 18%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/Console.cpp.o
[ 20%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/crypto/Algorithm.cpp.o
[ 22%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/crypto/keccak.cpp.o
[ 24%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/log/BasicLog.cpp.o
[ 26%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/log/ConsoleLog.cpp.o
[ 28%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/log/FileLog.cpp.o
[ 30%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/log/Log.cpp.o
[ 32%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/net/Client.cpp.o
[ 34%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/net/Job.cpp.o
[ 36%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/net/Pool.cpp.o
[ 38%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/net/strategies/FailoverStrategy.cpp.o
[ 40%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/net/strategies/SinglePoolStrategy.cpp.o
[ 42%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/net/SubmitResult.cpp.o
[ 44%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/Platform.cpp.o
[ 46%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/core/Config.cpp.o
[ 48%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/core/Controller.cpp.o
[ 50%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/net/Network.cpp.o
[ 52%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/net/strategies/DonateStrategy.cpp.o
[ 54%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/nvidia/CudaCLI.cpp.o
[ 56%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/Summary.cpp.o
[ 58%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/workers/CudaWorker.cpp.o
[ 60%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/workers/CudaThread.cpp.o
[ 62%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/workers/Handle.cpp.o
[ 64%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/workers/Hashrate.cpp.o
[ 66%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/workers/Workers.cpp.o
[ 68%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/xmrig.cpp.o
[ 70%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/App_unix.cpp.o
[ 72%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/common/Platform_unix.cpp.o
[ 74%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/Cpu_unix.cpp.o
[ 76%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/Cpu_stub.cpp.o
[ 78%] Building CXX object CMakeFiles/xmrig-nvidia.dir/src/nvidia/NvmlApi_stub.cpp.o
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:38: error: ‘GpuThread’ was not declared in this scope
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                      ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 1 is invalid
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                                ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 2 is invalid
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:38: error: ‘GpuThread’ was not declared in this scope
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                      ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 1 is invalid
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                                ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 2 is invalid
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:38: error: ‘GpuThread’ was not declared in this scope
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                      ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 1 is invalid
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                                ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 2 is invalid
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:38: error: ‘GpuThread’ was not declared in this scope
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                      ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 1 is invalid
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                                ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 2 is invalid
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:38: error: ‘GpuThread’ was not declared in this scope
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                      ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 1 is invalid
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                                ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 2 is invalid
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:38: error: ‘GpuThread’ was not declared in this scope
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                      ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 1 is invalid
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                                ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 2 is invalid
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:38: error: ‘GpuThread’ was not declared in this scope
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                      ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 1 is invalid
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                                ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 2 is invalid
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:38: error: ‘GpuThread’ was not declared in this scope
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                      ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 1 is invalid
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                                ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 2 is invalid
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:38: error: ‘GpuThread’ was not declared in this scope
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                      ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 1 is invalid
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                                ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:48: error: template argument 2 is invalid
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:26: error: invalid use of template-name ‘std::vector’ without an argument list
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                          ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:37: error: expected ‘,’ or ‘...’ before ‘<’ token
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
                                     ^
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:54:6: error: prototype for ‘void NvmlApi::bind(int)’ does not match any in class ‘NvmlApi’
 void NvmlApi::bind(const std::vector<GpuThread*> &threads)
      ^
In file included from /home/xenial/xmrig-nvidia/src/nvidia/NvmlApi_stub.cpp:25:0:
/home/xenial/xmrig-nvidia/src/nvidia/NvmlApi.h:47:17: error: candidate is: static void NvmlApi::bind(const std::vector<xmrig::IThread*>&)
     static void bind(const std::vector<xmrig::IThread*> &threads);
                 ^
CMakeFiles/xmrig-nvidia.dir/build.make:902: recipe for target 'CMakeFiles/xmrig-nvidia.dir/src/nvidia/NvmlApi_stub.cpp.o' failed
make[2]: *** [CMakeFiles/xmrig-nvidia.dir/src/nvidia/NvmlApi_stub.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/xmrig-nvidia.dir/all' failed
make[1]: *** [CMakeFiles/xmrig-nvidia.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
```