add a data-uri function

as described in a comment on #775
throw an error if data-uri is used in the browser

and move require('fs') into the function, so other things
still work in the browser.
guess the mimetype, and properly encode non-base64 uris
move data-uri tests to url.less so they are not run in the browser. add browser tests. make function return url() in the browser
make env available to functions. Fix the path for the data-uri function in the browser. Fixes #997