Shared Memory and User Input

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

Key defaults should be set up before the key callback is set up.