Implements custom resource pack support. Adds a `Client` method to set resource pack, and a `ClientEvent` for listening to resource pack status updates from clients.