Big rewrite

Inject our own custom packet types that throw some events on handle.
Pros: no race conditions and random desyncs anymore
Cons: version-dependent
As of now compatible only with 1_7_R3 (1.7.9)