Saucelabs

close #673 

Here's the saucelabs testing. It works with travis when we push. I fixed some tests for other browsers while I was doing this, but I wasn't able to fix IE9 tests (I was getting about 40 errors for that). It passes on firefox, chrome and IE10. 

I'll try to fix IE9 separately from this PR.

I modified some legend and label code to add some more margins so the tests would pass on different browsers.
normalize path can be declared here rather than just having type sig + subsequent declaration, because initializing it is a pure funciton