c++ style
memory_datasource:  support datasource interface
share datasources between layers for now
preserve old MemoryDatasource interface in Python