Close [BS-3305](https://linear.app/affine-design/issue/BS-3305/白板按s应该使用上次的shape形状)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added a method to cycle through shape types when using the shape tool.
- **Bug Fixes**
- Improved shape tool behavior to ensure the selected shape type does not change unexpectedly after adding a new shape.
- **Tests**
- Added an end-to-end test to verify that the shape tool retains the selected shape type after adding a new shape.
- Enhanced shortcut tests to verify cycling shapes forward and backward using 's' and 'Shift+s' keys.
- **Refactor**
- Streamlined the logic for cycling through shape types and connector modes for improved maintainability.
- Removed external utility for cycling shapes, integrating the functionality directly into the shape tool.
- Updated keyboard shortcut handling to use the new cycling method within the shape tool.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: [BS-2909](https://linear.app/affine-design/issue/BS-2909/新增highlighter)
### What's Changed!
Currently the highlighter tool is very similar to brush, but for the future, it's a standalone module.
* Added `Highlighter` element model
* Added `Highlighter` tool
* Added `Highlighter` entry to the global toolbar