Added entity read/write NBT event and render living (should)RenderPass event

Added five new events:

EntityEvent.EntityWriteToNBT
EntityEvent.EntityReadFromNBT
RenderLivingEvent.PreRenderPasses
RenderLivingEvent.ShouldRenderPass
RenderLivingEvent.RenderPass

ReadFromNBT and WriteToNBT get called after the vanilla functions, so you are able to override already existing NBT tags. 

PreRenderPasses has two functions:
- Have a event after the main model has been rendered but before the render passes
- Set the amount of render passes with the renderPasses variable

ShouldRenderPass is basically the shouldRenderPass() function in RendererLivingEntity, but instead of returning something you need to set the shouldRenderPass variable to the desired value (-1 to cancel).

RenderPass is called before vanilla does it's render pass, so you can add your own render pass types, this event is cancelable so you can override the vanilla render pass completely.