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>();