Take the idea of batching position packets and instead apply it to all types of packets
- queue up packets per frame
- send them out after invokes finish
- packets are batched on the network thread so no change to the main thread
- new packet type to indicate if it's a batch of small packets
- ConVar to control batching at runtime
- client can handle both batched & unbatched packets
- batches are sent as "immediate" so they bypass raknet's internal buffering since we are now basically doing the buffering RakNet was doing