Poring Effect to WebGL, but still the code is dirty.
Merge remote-tracking branch 'origin/master' into gh-pages