Replacing all Boost smart pointers with c++11 smart pointers.
Added a template class Handler which should allow for a "weak" reference
that acts like a direct reference.
NOTE: Currently, the Handler class is untested and unused in the main
bulk of code.
Switched the Window class from using std::weak_ptr for handles to the
Handler class. This meant reworking a bit of the WindowManager,
TextureManager and Texture classes in the process.

Next time... I do the same for the Texture class.
Texture and GameStateManager object now use Handler based types instead
of std::weak_ptr based types for passing between non-owning objects.

All other classes updated to handle this change.
NOTE: Fewer lines of code = win in my book :)
Filled out a bit of the Window class. Mostly just wrappers to the SDL2
window functions.

Application now sets the logical render size to 1680x1050. The window is
still only 800x600, but now the application assumes rendering is done on
the larger rendering area and scales it all down. WHY did I do this? I
wanted to see it in action. This will be handled in a MUCH more
appropriate manner later.