Switch entirely to lxml

Currently we use BeautifulSoup with the lxml, making lxml a requirement. By
using solely lxml, we get rid of BeautifulSoup and make it possible to use
lxml's css selectors.
Merge pull request #55 from karan/lxml

Switch entirely to lxml