Fixed inventory desyncs after using portal GUIs

Some GUIs used a container on the server-side, but not the client-side. When opening GUIs, the window IDs of the containers are synced to allow for client-server interaction. Since the client's container was not updated, this resulted in the player inventory ID (default container) getting synced with the portal GUI, causing the inventory to no longer sync with the server until the player re-logs.

I've changed all GUIs using containers to inherit from GuiBaseContainer, instead of GuiBase, which fixes the desync.