Initially I will just be throwing some horrific looking code in here, without a care for making it safe and tested. That's not what this is for in the first instance. When I'm done I will go back through it and tidy everything up by optimising some implementations and making it 'better' generally.
PRs welcome should you wish to improve what has already been written but I want to implement all of it myself at least once so any PRs for material not yet covered will be delayed until I pass that point.
This README will eventually morph into a document with more info.