When converting from numpy to dataframe, support multiple dimensions
Conversion from numpy to dataframe works through standard code only if numpy is 2D. But to make things easier we might want to extend our dataframe subclass to support also higher dimensions. We could do this by converting other dimensions into individual numpy arrays and store them as objects inside a 2D dataframe. So together they would still represent the same data and same structure. We could even reuse metadata mostly because dimensions would keep matching.