Shared Memory and User Input

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

It must be committed or travis will fail.