Add concept of 'asset variants'

An 'asset variant' is a resource built from a specifiec set of parameters
from a URL matching the asset's pattern.

This helps build the framework for allowing user-defined asset
parameters to allow for variations in an asset based on the URL used to
access it.
Allow periods in wildcard pattern regex
set the AssetVariant cachedFilePath when writing the file
Only call saveRenderedFile when requesting the file
First attempt at cleaning up rendering procedure
Split out AssetVariant into it's own file
Refactor Asset render process to use events
Allow passing a file path when triggering a variant event
Wrap AssetVariant renderCache object with methods
Simplify compression invocation for an Asset
Update javascript asset type to use new event model
Update stylus asset type to use new event model
Update png asset type to use new event model
Pass asset parameters to nested assets
Keep events consistent by requiring callback for 'variantInit'
Fix bad matching of existing rendered asset variants
Use proper .styl extension for stylus files
Support dynamic inclusion of files for @import in stylus
Update the stylus example to demonstrate imports
Add overrides example to demonstrate custom parameters