add reusable utilities

this code is taken from event-system.

includes:
- **argument splitter**: this is a shim that (at least tries to) emulate argv
- **class changer**: see https://github.com/themanaworld/tmwa-client-data/pull/145