refactor(lib): Allow fitting whole population at once The fitness function gets fit_population function. The default implementation is going over fit() one by one, but it can be reimplemented by specific types.
chore: move population structs to separate module