Finally found the courage (heh) to publish this! Please let me know if you find any bugs, though it has been pretty thoroughly tested, one person can only find so many!