* Optimise spectator loops
`count` is only quicker than `forEach` when the final command returns a
boolean or nil. `forEach` is quicker if the final command returns any
other data type.
* Use `forEach` instead of `count`
* Optimise cursor object updates
* Restrict distance units can be selected from
* Fix potential for no icons to render in FPP
* Limit projectile drawing distance
* Optimise icon updates
* Fix group names not being drawn in vehicles
* Fix selection nameplate not drawing for vehicles
* Fix selection of non-spectatable entities
* Fix incorrect function input for spectator hiding
* Remove locations tab from spectator
- Doesn't add much value, adds complexity and the implementation is half
baked. Would rather add back in at a later date (if at all) with a
better implementation.
- I have an idea to replace the locations tab with a meta tab so users
can toggle things like projectile drawing via the UI and are not forced
to use a hotkey. Might also be a good place to display the extended controls.
- Overhauls the spectator module entirely to share a similar UX to BI's "End Game Spectator" while maintaining some of the extended flexibility of ACE Spectator.
- Simplifies spectator setup by reducing the number of settings. More advanced setup is still possible via the API functions provided.