Improved button detection and new UI

Button:
Stopped the loop from breaking after a button is pressed, this means
multiple buttons can be pressed at once and the chain can be broken by
returning 1 under any hook of OnButtonPress.

Container:
Added OnMoveItemToContainer, called when a player moves an item to a
container from their inventory, this also cancels the call of
OnPlayerRemoveFromInventory.
Added OnMoveItemToInventory, called when a player moves an item to their
inventory from a container, this also cancels the call of
OnItemRemoveFromContainer.
Added an optional 'call' parameter to RemoveItemFromContainer which can
cancel calling OnItemRemoveFromContainer.

Core:
Changed the ShowMsgBox function to ShowActionText and redesigned the UI
for this message.

Inventory:
Added an optional 'call' parameter to RemoveItemFromInventory which can
cancel the call of OnPlayerRemoveFromInventory.