Add texture loading and uploading to GL, add test. Change texture to
temporarily bind to avoid global state mutation.