Win32Device: Fix IME issues prior to Windows 8.
Button: Separate a base class AbstractButton.