Minor improvements

Fix showTiming and slightly improve texture upload
glFinish() can cause unnecessary CPU/GPU synchronization, leading the pipeline stalls.  

glBeginQuery() / glEndQuery() with GL_TIME_ELAPSED is a suitable replacement that doesn't stall the pipeline, but does require you to query on the result availability (specifically to avoid stalling the pipeline).