Button class
Changes to WindowBase:

-Renamed x, y to cursorX, cursorY so it's more clear what they actually are.
-Added code to check if children is under the cursor so that no child is notified about events that do not consern it.
-Changed closure from capturing by reference to capture by value to prevent any accidental changes to the values.