Limit data-uri size to 32KB, falling back to relative url()

Version 8 of every web dev's [favourite browser](http://msdn.microsoft.com/en-us/library/cc848897%28VS.85%29.aspx) limits `data-uri`s to 32KB. Since we're now in the business of embedding `data-uri`s, we should avoid exceeding this.

A new option for `lessc` has been added, `--no-ie-compat`.

By default, the corresponding env property `ieCompat` is `true`. Passing `--no-ie-compat` or setting `env.ieCompat` to `false` will avoid returning the fallback `url()` and always embed the `data-uri`.

The fix to `tan()` was just something random I saw while trying to make both `npm test` and `make browser-test` pass cleanly. I have no idea why `node` and `phantomjs` would decide those products differ (only the last significant decimal was off by one in PhantomJS), but `tan(42)` fixed it.