WebGL - это же OpenGL ES 2.0 - то же дерьмо что и на мобилках.
Следственно ожидать от него чего-то крутого - не стоит.
А про шейдеры, хз, я писал на HLSL (dx9 sm3.0) и большой разницы с GLSL ES не уловил (ну синтаксис и мелочи есть, но не вижу ограничений у второго перед первым).
лямбда-функций кстати таки в JS нету, это ты говоришь про anonymous functions.
Лямбда или inline (оффициально arrow function) выглядит так:
arr.sort((a, b) => a - b );
Является частью ECMA6 (harmony) и пока только держиться в последних FF, очень приятно порой писать такие функции.
CoffeeScript уже давно поддерживает их - но я терпеть не могу это кофейное дерьмище.
Кстати, если по JS нада чё, спрашивай тож. Я правда в асе не бываю почти