- replace old PopupMenu (flat preset list) with PopupPanel-based menu
- add 3-icon toolbar: ⚙ Settings, ℹ Info, ✕ Remove (+) + Add
- red ✕ on tiles removes the tile; green + on empty space opens add-tile submenu
- 'Themes ▸' button opens a submenu with all ShaderPresets
- add-tile submenu populates from PluginManager.get_all_tile_defs()
- all toolbar buttons are 48×48 flat buttons with 24px font for touch
- orphan PopupPanel children cleaned up during grid rebuild
_end_drag now calculates the target grid cell from the module's visual
top-left position (mouse_pos - grab_offset) instead of the raw mouse
position. This prevents multi-cell tiles from jumping an extra cell when
grabbed near an edge.