ADD: [mouse] support long click + full click/double/long support for 5 buttons

/cc @jmarshallnz @Montellese 
Correct me if I'm wrong, but doesn't this just completely break the mouse?  Or is it saved because it's always going through the button translator, thus the wrong values being specified here are being translated into correct values below?  If the latter, please move the mouse defines that aren't action IDs to a separate file (the header of this one is probably OK) so that things aren't confusing.

Also, note that your for loop above is altering the behaviour.  I think you want to break the loop at the first found m_Action to be consistent with the code before this change.