Added a new State interface class... IIOState. All decendents should
implement the new IIOState::poll(SDL_Event event) method.

Both the GameStateManager and the MainMenu classes have been updated
with this new state in mind.

NOTE: Unlike with rendering and updating, the GameStateManager doesn't,
technically, need the IIOState as a decendant. While I can do so, the
workaround would be a little less efficent, I think, than just having a
poll() method. Maybe this will change? Doubt it... for now.