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.
- ...
@theengineear I had to modify the computed domains. The algorithm in this branch yield slightly (slightly) different values.