So I was making a project which needed some mouse support, and I decided to make an interface that was universally applicable. After some work to generalize the code, I created this example to share with you people.
The Interface
Usage is pretty simple, tab 1 in the cart above contains all one needs to be able to implement this, so just copy it over to a new tab in your cart.
Insert init_mouse in your _init, with a table containing your interactable elements (we'll come back to this table). update_mouse and draw_mouse are quite self-explanatory.
The mouse calls the function mouse_down whenever you left click, and mouse_up when released (I left right and middle clicking out to support people on mobile or other platforms where mouses have less buttons, but they're easy enough to implement if needed).