Update README
Update TODO
Tweak tests a bit
Reorganize backends to use Abstract Base Class
Update README.md with testing instructions