Arduino codes are now 6 times smaller

Arduino codes are now 6 times smaller then before so we can execute
larger commands without a massive increase in size.
Moved most of the
key translation to the Arduino side. (this is how we achieve the smaller
size, since we don't need to do a function call for every
character).
Added new function convertToHex witch converts KEY_* (where
* is a key like A, B, C, etc.) to its corresponding HEX value.
this will
hopefully make multi language keyboards easier to implement.