Various improvements

Changes:

- Fixes OpenSearch (searching directly from Chrome omnibox)
- New plotting
    - New D3.js version fixes mobile zoom
    - Animations for reset, square viewport
    - Polar and parametric plotting
    - Multiple plots
    - Hiding individual plots
    - Zooming in/out reloads graph data
    - Example: [all plot types on one graph](http://15.sympy-gamma-li.appspot.com/input/?i=plot%28y%3Dx%2Cy1%3Dx%5E2%2Cr%3Dcos%28theta%29%2Cr1%3Dsin%28theta%29%2Cx2%3Dcos%28t%29%2C+y2%3Dsin%28t%29%29)
- [Boolean logic results](http://15.sympy-gamma-li.appspot.com/input/?i=x+%7C+%28~y+%26+~x%29)
    - Displays simplification, satisfiability (a possible set of values that makes the expression true), and a truth table
- [Diophantine equation results](http://15.sympy-gamma-li.appspot.com/input/?i=diophantine%283%2Ax%2A%2A2%20%2B%204%2Ay%2A%2A2%20-%205%2Az%2A%2A2%20%2B%204%2Ax%2Ay%20-%207%2Ay%2Az%20%2B%207%2Az%2Ax%29)
    - Displays the solution
- [Recurrence relation results](http://15.sympy-gamma-li.appspot.com/input/?i=rsolve%28y%28n%2B2%29-y%28n%2B1%29-y%28n%29%2C%20y%28n%29%2C%20%7By%280%29%3A%200%2C%20y%281%29%3A%201%7D%29) (also shows a 'Learn More' card linking to a few resources)
- Format [`Sum`](http://15.sympy-gamma-li.appspot.com/input/?i=Sum%28x%2A%2Ak%2C%28k%2C0%2Coo%29%29) and [`Product`](http://15.sympy-gamma-li.appspot.com/input/?i=product%28i%2C%20%28i%2C%201%2C%20k%29%2C%20%28k%2C%201%2C%20n%29%29)
- Fixes issue #16 by adding `help()` to the parser as well as not assuming all `SyntaxError`s have an offset (example: [`help(plot)`](http://15.sympy-gamma-li.appspot.com/input/?i=help%28plot%29)
- Various styling tweaks (did you mean is now orange instead of red, Random and Clear All on homepage are now buttons instead of links)

Todo:

- Fix the bug with the product example above
    
Features I'd like to implement:

- Recognition of conic sections in input + information about them in results (e.g. asymptotes, foci, plot). To implement this I'd need some parsing trickery for the equals sign.

Problems:

- Better behavior of implicitly defined functions. For instance, `expand(a(1+x))` doesn't behave as expected because `a(1+x)` is interpreted as a function, but this sort of functionality is needed for `rsolve(...)`.

Demo:

http://15.sympy-gamma-li.appspot.com

Screenshots:

![image](https://f.cloud.github.com/assets/327919/1510224/1d01e45a-4a78-11e3-9108-d3528e135290.png)
![image](https://f.cloud.github.com/assets/327919/1510230/3ec99b82-4a78-11e3-85f5-56b0d9f09d1e.png)
![image](https://f.cloud.github.com/assets/327919/1510233/59030038-4a78-11e3-9404-ba786ee53f5b.png)