Fixed: Version independence! Yeah!

Oh god it hurts. This code is so sloppy. Big thanks to @aadnk for helping me out with brainstorming, pointing out issues, debugging, and with CGLib. You’re gonna get tagged in the master branch too, buddy.

Basically, this should enable version independence when I get around to making it for other versions. There will be lots of code rewrite, so if you see any way to slim that down (more independent code and less dependent), it would be most appreciated if you told me.

Expect bugs.