Shared Memory and User Input

Shared Memory objects have been added, as well as preliminary HID input(buttons only)

`0xffffffff ^ button` is equivalent to `~button` (but less confusing).