Cleaned up configuration handling, added mpv compatibility, fixed some issues with input handline

Hi, I really love pms, and just thought the following changes might make it more easy to extend in future.

* Cleaned up configuration and extended the Config object to make reading/writing the configuration easier.
* Adding new parameters is easier now, I think. I would like to make this more generalised so we don't have to check input for each boolean parameter or whether directories exist, etc. Will work on this and send another pull request.
* Made sure the mplayer controls get displayed for users of mpv as well.
* Fixed an issue with mpv hotkeys being echoed to stdout instead of being passed directly to mpv. I haven't tested this with mplayer yet!

Please tell me if there are any issues. I would normally have made a separate branch for each change, but the mpv stuff was dependent on the config stuff. In future I'll branch properly.