Move GLWidget to DM

Moved the GLWidget, now GLCanvas over to the DependencyManager.
Also made a couple changes to the DM 
(now returns shared pointer + preprocessor tag instead of inheriting Dependency)

New DM standard is:

class T {
SINGLETON_DEPENDENCY(T)
...
};

T::SharedPointer DependencyManager::get<T>();
btw - unrelated to this PR... but I just noticed it because I was reviewing this.

The recent changes to computePickRay vs computeViewPickRay have broken the intended functionality. The goal of computeViewPickRay() was to provide an undistorted pick ray into the view EVEN IF running on the Oculus. So really, it should ALWAYS call getViewFrustum()->computePickRay(). The use of getApplicationOverlay() should only be called when using the screen x/y version of the pick ray function.