[mouse] reworks the order of the mouse event handling (issue #2315)

This pull request allows higher customizability to mouse actions. Meaning that mouse events can be mapped to any actions without incorrectly activating the mouse cursor on screen. Allows users of certain mice or mouse+keyboard remotes to take advantage of every button they got.

Gets the CAction from a mouse event and determines it's type before treating it as a mouse action. These events aren't treated incorrectly as mouse events. Mouse cursor gets activated by proper mouse actions, not straight after getting an event from any mouse device.

User ends up getting fancy results for example if:
* mousemove = NOOP
* wheeldown = wheeldown
The mouse cursor doesn't get activated after a mouse movement but after a wheeldown event it stays active and can be moved around for a short time. That's the user's responsibility to map sane actions.

Implements a feature request from forums: http://forum.xbmc.org/showthread.php?tid=157744