Update chartLayout

- Add JSDoc documentation
- Accessor methods no longer require selection passed in as parameter
- Store reference to generated elements in chartLayout
- Some getters renamed
- IDs are generated for the plotArea clippath