DISCUSSION: allow external libraries to define a custom Block
I am opening this issue because I want (to try) to pursue this in GeoPandas to add a custom `GeometryBlock` (work together with Matthew Rocklin in https://github.com/geopandas/geopandas/pull/467, ultra short motivation: we want to store integers (pointers to C objects) in a column but box it to shapely python objects when the user interacts with the column (repr, accessing element, ..))

I am of course free to try this :-), but I wanted to raise this because it has some consequences. With the "allow external libraries" in the issue title, I mean the following:

- agree that this is 'OK' which means that we try to not break the Block API (to a certain extent of course, or try to change it backwards compatible)
- accept some changes to pandas to make this possible where needed (as long as they are only some internal clean-ups)

I don't think we plan many internal refactorings for pandas 0.x / 1.x, so on that regard the Block API should/could remain rather stable (of course for 2.0 this is a whole other issue).

So this issue can serve as general discussion for this (or if people have input or feedback) and as a reference for when changes in pandas are made for this.

cc @pandas-dev/pandas-core 