[ ] Implement the algorithm with an interface like the following
[x] There is a struct that represents the complete learning state of a word
[x] There is a struct that represents the settings of Anki
[ ] There are a few methods on the struct for asking if it is ready to be repeated, was repeated correctly, wrongly, seen as easy, ... (and other features of Anki if exist). These methods take the settings struct as a parameter and update the learning state accordingly.
[x] Document the crate well
[x] Write tests as seen fit, this does not seem to be the most testable thing