New input API and other things

Lots going on in this one.

Mostly finished the new input API. Merged it in with latest dev and converted humanplayer to use it. Barring bugs, the only feature that remains is to add configurable keybindings to the config file. Which reminds me...

The config file has been moved to a user specific folder, and will be generated if it does not already exist. On unix this will be under .local/share/Ponykart, on windows I believe it will be AppData/Roaming/Ponykart. Also, boost::signals2 has been added to handle events. Thankfully it's header-only, so does not need to be built or linked. Ogre has also been upgraded to 1.9.