Separate BlockSelection Component and System from interactive local player selection and rendering

This should allow block selection to be used by characters (and systems) other than LocalPlayer.
Moved SelectionBlockRendering into a separate system.
Repackage block selection classes.
Simplify and clean up block selection system.

Replace Component references with Entity references in persisted objects.

Render block selections based on BlockSelectionComponent state rather than registration events.

Remove block selection started/completed events.

Rework LocalPlayerBlockSelectionByItemSystem to use new API.
Remove texture specification.   Renderer already has this as a default if no texture is specified, so removing it will allow the client code to set a different texture.
Cache BlockSelectionRenderers by texture dimensions.
Update BlockSelectionComponent documentation.
Merge #810 from @mkienenb - block selection updates