Script API: implemented Mouse.Click()
Script API: renamed ProcessClick() to Room.ProcessClick()
Engine: added const modifier to several script related functions
Engine: refactored queued script

This moves the queued script description to the separate struct; stores the function type and param count in dedicated variables, as opposed to adding and then parsing a prefix on function name.
Engine: picked out algorithm for queueing script function
Engine: support calling gui OnClick handlers from script
Script API: implemented GUI.Click() and Button.Click()
Engine: split GUI mouse interaction out from check_controls() function
Common: replaced GUIMain::IsMouseOnGUI() with IsInteractableAt()
Script API: implemented GUI.ProcessClick()