Merge changes from topics "pc-enum", "pointer_controller"

* changes:
  Move PointerController enums to enum classes.
  Move PointerController from sp to shared_ptr