Renamed global variable "settings" to "mainConfig", to help prevent derpage when using Config * settings as a function parameter.
Updated config and inputhandler to use protected instead of private.
Closes #14

Large commit. In short, it reworks the context manager to utilize states instead of manually rendering, allowing for more flexibility.
Each context now only manages its window/OpenGL context, and each state now manages what is currently being rendered. Soon, states will for the most part no longer render manually, and instead use Scene(s) and CEGUI.