feat(core): split raw client and managed client as well as packet handlers Resolves #65
feat!(core): make some classes internal
feat(core): add command pre and post events
feat(core): add stateful entities support Supports injecting entities depending on the current nostale client. Useful for remote, pipe client etc.