OP-291 Refactoring viewlets so that they take an 'args' struct rather than 'viewletArgs'

Also updating the documentation