Convert Input to Singleton

- Converted Input class to Singleton.
- Added Singleton helper class.
- Cleaned up includes in Engine.h.
- Changed SystemManager to use a vector of shared_ptr's since the way I
was doing it previously was crazy fucked up.