* macOS: fix property_no fn
* Use CFRunLoopTimer instead if NSTimer
This means the timer doesn't keep a reference to the view,
which should make it easer to check retain_count in release.
* macOS: take pointer instead of Arc in WindowState::setup_timer
* Save retain count increase from build fn, use in release fn
* macOS: in window setup, run build fn before doing parenting
* macOS: clean up parenting
* macOS: wrap WindowState in Box instead of Arc to improve clarity
* macOS: use better names for ivar consts, move them to view.rs
* Remove no longer used crate static_assertions
* macOS: in view release fn, delete class when retain_count == 1
* macOS: set window state ivar to null after dropping
* macOS: store retain count after build in WindowState
* macOS: rename BASEVIEW_WINDOW_STATE_IVAR to BASEVIEW_STATE_IVAR
Fixed a bug where an 'already borrowed' arror would occur when pressing keyboard keys in quick succession. Moving the borrow and borrow_mut of the window state inside the button down/up event seems to fix this.
* Added mouse capture/release to windows backend
* Mouse capture now automatic only
Removed manual ability to trigger mouse capture and release.
* Added refcount for mouse button event
Added refcount to prevent the mouse capture from releasing before all mouse buttons have been released.
* Removed unnecessary function from window
if we call DefWindowProc for non-system events, pressing alt or f10 puts
focus on the (nonexistent) dropdown menu until the next click or
keystroke, so we only call it in the case of WM_SYSKEYDOWN.
* Add WindowHandle::try_send_message, implement it on macOS
* Add Send constraint to WindowHandler::Message
* Assert at compile-time that WindowHandle is Sync
* macOS: remove runtime timer, use frame timer instead
* Use wait-free spsc message chan; split off AppRunner from WindowHandle
* Add comment to WindowState static assertions code
* Clean up
* Split off AppRunner from WindowHandle on Windows and Linux
* README: add messages milestone row, add check mark to macOS column
* macOS: add and use MESSAGE_QUEUE_LEN constant
* macOS: clean up