Merge pull request #25 from Jormangeud/master

Fix drums controller type so that it is "drumkit" everywhere. Such partial change was done in input/controller rewrite and detection has been broken since then.
Fix guitars' hat controls (pick/directional) being handled as GENERIC and make controller log proper devtype if available.
Make use of menu navigation in song browser, restoring the ability to browse songs with guitar pick (has been broken after input/controller rewrite).
Default logging level changed from error to warning. Fixed an occurence of 'warn' being used as the level rather than 'warning'.
Improved controller handling.

- Hat definitions and handling are now in XML (likely to cause regression; all controllers need to be tested again).
- Repeated or bogus events are pruned before they get logged or delivered.
- Another controller mapping added to XML.
- Better (end-user oriented) log messages.
- Fixed a number of occurences of 'warn' level.
- Made findButton and other systems search specific devtype before DEVTYPE_GENERIC.
- Guitar pick up/down are no longer aliases to generic up/down.
Implement auto-repeat for navigational keys.
Implement per ControllerDef (extra) latency configuration via controllers.xml (not tested).
Fix a bug with AnimAcceleration causing covers to scroll slowly when input was quickly repeating. Minor cleanup too.
Remove class Texture, add texturing support to Surface. (needs more testing)