Cut down on code duplication in the geoms

- Added helper function in the `geom` base class to do the grouping.
- Grouping uses a `_groups` class variable declared by the geoms
- Move plot_layer to the `geom` base class and group the data before
  it is passed on to `geom_xxx.plot`
- Translations to matplotlib names also happens in the `geom`
  base class