Solution for: Leonardo keyboard API only allows ASCII input

Add pressKeycode(k, send) and releaseKeycode(k, send) methods to class Keyboard_ to fix issues with the QWERTY-only press(k) and release(k) methods. Additionally rewrite press(k) and release(k) to actually use the new *Keycode(k, send) methods and add some KEYCODE_* defines.

This fixes the following issue: https://github.com/arduino/Arduino/issues/1386