Syntax error checking on build.

This implements syntax error checking on build: https://github.com/component/component/issues/478 - based on tag `0.10.0`.

Here are benchmarks which show that this change has negligible performance impact:

https://gist.github.com/airportyh/9014213