Complete rewrite of user input code

- No more packet spam, packets are only sent when a key is pressed or
released
- No more bit for thrusters off, ~(2|8) intrinsically means "off"
because the thrusters aren't on
- No more polling, we can just use the keydown/up funcs