Added a way to listen to player and inventory events inside the menu
These events are only called when the inventory matches with the current session, so you don't have to manually check if the inventory matches
Made some menu types create the menu using their specific nms menu type instead of a custom inventory, this will make events (mentioned above) as 'PrepareAnvilEvent', etc being called. Below the types that have this: