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 clip path

Due to the change in several method signatures, this is a breaking change for the examples.