Support for #pragmas extension enabling

Also adds ability to disable extensions with --disable=xx s-switch to webcl-validator.

The check for enabled extensions is implemented as a new pass that is executed before the preprocessor phase. This runs the processsing with all extensions enabled and makes note of the actually #pragmas used by the user. Next phases will be run with only the user-enabled extensions enabled.