This change needs to get backported to all the other forks. We want to retain the ability to draw other UI elements in our apps, and that means we can't always assume that a mouse press and mouse release will happen together. Instead, each layer should manage its own state machine, and only check for events from the immediately lower layer.
This idea generalizes commit c3cdbb52a.
IOTIKKUCGADX5V2F5XNRKWEPYTP6YQKL5V44R5KHMGH6JEBBSHGAC