Clean up and improvements

- Clean up and separation of code into functional areas
- Fix for outside adjacent logic
- New performance feature to kill highlighting when max selections is exceeded
- Option to highlight endpoints of tags
- Other various small fixes