Refactoring of NimbleDevice, NimbleScaffold, NimbleThread.

- Restrict to single device.
- Remove asserts from local classes and propagate a bool indicating success.
- Move local classes and functions to anonymous namespace.
- Refactor NimbleScaffold::listen() to NimbleScaffold::update() and make the code in it "per frame".
- Introduce NimbleScaffold::initialize and finalize to correctly open and
  close socket. These functions are called from NimbleThread
  appropriately.
- cpplint fixes in NimbleScaffold
- Replace pass by reference to pass by pointer when the variable is modified within a function.
- Move parsePose into TokenStream as a member function, so that it can access stream directly.
Nimble hand tracking: Unit tests and Visual test.

- Added a POSE data to NimbleDevice to be used in the Visual Test.
- The position scale for the Visual Test is set to 0.0001 (1 m to 0.0001 m) to have the sphere be visible in the screen.