Discourage usage of *Texture::setImage() even more.

ARB_direct_state_access doesn't have equivalent for glTexImage*D(),
which indicates that these calls should not be used anymore. Also
removed EXT_direct_state_access code path and kept just the plain
glBindTexture() + glTexImage*D(), as I assume that all implementations
which have EXT_DSA have also ARB_texture_storage, thus this alternative
would have no use.
Fix size computation for array textures in setStorage() fallback.

The comment was right, but the code was apparently copy-pasted. Sadly no
unit test covered this, because nearly every desktop impl has
ARB_texture_storage and on ES2 (which is the only that doesn't have
texture storage) it's not possible to query image size, heh.
Disable framebuffer subdata invalidation for ES2.

I think it's better to leave the choice on the user -- whether to do
nothing (which might be slower), invalidate whole framebuffer (which
might lose data) or do scissor + clear and thus emulate the
sub-framebuffer invalidation somehow.

Also, for some weird reason I made off-by-one error in
eb32fb1c400edbb6b564ff09e64f406ae2d9c37a, so the documentation for
Framebuffer::invalidate() appeared in documentation block for
Framebuffer::attachRenderbuffer(). Should be fixed now.
Mention performance optimizations in TransformFeedback.
This is no longer true.
Test: ensure that all extensions are available.

I'm not really sure what extensions ARB_cube_map_texture_array expects
and what not, so checking for everything just in case.
package: use "emscripten" AUR package.
package: all crosscompiling packages require native corrade package.
Updated toolchains submodule.