Shared Memory and User Input

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

None of these should be global and externally accessible functions.