All gems updated, rewritten from scratch in a "good Ruby" style

README refresh, it felt dated

All codebases should come with a changelog (this one does as of now)