In #329 and #388 we are becoming more and more dataframe agnostic and not reliant on any specific dataframe library. However, tabmat still depends on pandas transitively through formulaic. Now that pandas becomes an otherwise optional dependency, should we do the same for formulaic and do a runtime check when trying to use a formula?