Add full support for Java ping pong packets
This rewrites the BedrockNetworkStackLatencyTranslator to add support for pings sent by the server and pongs received from the client.
One thing I'm not sure about is the shouldExecuteInEventLoop. It's important that ping/pongs keep their order. On Java, keep alive's are async and ping/pongs are sync. But on bedrock, NetworkStackLatency seems to be sync and there is no separate packet for keep alives.
Tested with forward-player-ping: true/false and everything seems to work.
This PR needs to be rebased / merge in master due to conflicting changes :(
Should be fixed
https://github.com/RaphiMC/ViaBedrock/commit/374781ab6e11449c101802fb767968dd593ec95f seems to confirm that these are sync (and should be treated as such on Geysers end). Will merge by tomorrow :)
Adding to GeyserBeta.
There's unfortunately a merge conflict now - otherwise happy to merge