Support AbstractDataFrames

This should let use use SubDataFrames and others.