move basic dmd stuff to separate class
better name
allow pre-computed dmd as argument to SparseDMD
reorganise