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.
- ...
e.g. the subplot grid of https://plot.ly/~etpinard/245 could be generated with

`tls.get_subplots(arragement=[[1],[2, 3], [4, 5, 3]])`