support configurations with only righ controller
Previously the first encountered controller was always assigned to left
and controllers could not identify themselves as only usable with a specific hand.
Introduces an enum for drivers to identify a device as a HMD, a specifically left or right controller, a controller that can be held in any hand or a generic tracker.
The service opens only the first HMD and closes all others again. But it does keep tracking all controllers and generic trackers, even those not assigned to left or right.