Some restructuring for the sake of more readability

- Move list_cameras to top of namespace
- Remove all custom decorators, replace them with lazy-loaded properties
  where neccesary
- Change order of some method arguments to match the rest of the code