You need to be checking for OpenGL Errors. If you were, your driver might very well point out the exact line(s) that are causing the problem.
For the above specifically, GL_LINEAR_MIPMAP_LINEAR is only a valid setting for GL_TEXTURE_MIN_FILTER, and even then only if your texture has MIPmaps defined (**). A relevant example from the wiki.
Try using GL_LINEAR for both of the above.
** I suspect that your texture does not contain MIPmaps, …since you haven’t provided the SOIL flag SOIL_FLAG_MIPMAPS to SOIL_load_OGL_texture().
In init() -> loadTex() -> SOIL_load_texture(), you’re having SOIL load an image, create a new OpenGL texture handle, and upload the loaded image data to this GL texture.
Then in renderScene(), every single frame, you’re telling GL to:
create a new GL texture handle,
overwrite the previous one stored in textureBrick (which the first time renderScene() is called is a GL texture handle for the one you had SOIL create) with this new handle,
bind this new empty GL texture (which has no image data attached to it),
You can get ideas from this book: Build your own 2D Game Engine. OpenGL and WebGL are very similar. For example, I made this example that draws a font using sprite, and C#/OpenTK/OpenGL3.1. Every character is a separated sprite. Drawing text is very important for games and interactive applications.