[Input] Removed pointless MouseDevice.SetState

MouseDevice state should only be modified through its HandleMouse*
methods, not directly.
[Input] Removed pointless ValuePrecise setter
[Input] Removed pointless unsafe region
[Input] Update state through HandleKey* events
[Mac] Moved MacOSKeys to MacOS namespace

They are used by both Carbon and Cocoa, so there is little reason to
keep them in MacOS.Carbon
[X11] Added X11KeyMap.TranslateButton()

This code was duplicated on four different places before.
[OpenTK] Refactor keyboard and mouse handling

A lot of duplicated code is now moved to NativeWindowBase and
LegacyInputDriver.