Add texture

This PR is an extraction of #533.
It provides texture areas.
Please add a space before the `?`.

Could this be shorter this way:

```
return -(glGetError() == GL_NO_ERROR);
```
?