WIP: Better test coverage

Not ready for review/merge yet.
The `Texture1D` class 1) wasn't used anywhere, 2) was only partially implemented, 3) was not particularly close to working when I tried to fix it, and 4) had a note somewhere saying that 1D textures are not actually supported. I think we're better off removing it for now, and adding it back from scratch when we hit a use case that calls for it. The result will be cleaner and more robust that way, I think.