Microfacet2 improvements and anisotropic GGX

Code improvements.
Improved tests.
Anisotropic GGX MDF.

![aniso_ggx](https://cloud.githubusercontent.com/assets/409013/3576045/32de41ec-0b8e-11e4-84ab-94d31b5391b7.png)

Actually, this is needed because the base class is a template. At least on gcc.