Simplify on_enter/on_exit callbacks to position-only signature
BREAKING CHANGE: Hover callbacks now take only (pos) instead of (pos, button, action)
- Add PyHoverCallable class for on_enter/on_exit/on_move callbacks (position-only)
- Add PyCellHoverCallable class for on_cell_enter/on_cell_exit callbacks
- Change UIDrawable member types from PyClickCallable to PyHoverCallable
- Update PyScene::do_mouse_hover() to call hover callbacks with only position
- Add tryCallPythonMethod overload for position-only subclass method calls
- Update UIGrid::fireCellEnter/fireCellExit to use position-only signature
- Update all tests for new callback signatures
New callback signatures:
| Callback | Old | New |
|----------------|--------------------------|------------|
| on_enter | (pos, button, action) | (pos) |
| on_exit | (pos, button, action) | (pos) |
| on_move | (pos, button, action) | (pos) |
| on_cell_enter | (cell_pos, button, action)| (cell_pos)|
| on_cell_exit | (cell_pos, button, action)| (cell_pos)|
| on_click | unchanged | unchanged |
| on_cell_click | unchanged | unchanged |
closes #230
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>