Revamp tls.get_subplots

@theengineear @chriddyp 

`tls.get_subplots` is in need of some revamping.

More info in this Asana [task](https://app.asana.com/0/11724913287040/12301257260418).

Features wishlist:

- Generate more complicated subplot arrangements e.g https://plot.ly/~etpinard/245
- Assign shared axes
- Set irregular horizontal and vertical spacing in-between subplots
- Generate subscenes - subaxes subplot grid.
- ...
together with the indices in `'arragement'`, assigning shared could be easily done using list or list of lists of subplot indices.