* change hid sharedmem writing to use structures
* Make controllers modular, support changing controller type * return readable events * signal hid events * fix style