Code cleanup and addition of test
Fixed program attribute and uniform locations
Big changes