Shared Memory and User Input

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

Right... useful to use if you're already writing a doxygen string, but if it's not in a `/** */` or `///` or `///<` comment I don't think doxygen will use it anyway. So I'm OK with this usage of TODO, however please write TODO's like `// TODO(bravia): Foo` so it makes it obvious who to go to for guidance.