[WIP] Add ws region

This first few commits will disappear once #279 is merged

Okay, so far I got this:

- [x] Send/Leave events
- [x] Cursor Updating
- [ ] Fix hotspot offsets being... off
You can't dereference a void pointer, so we cast it to a pointer pointer first