i learn `libxml2` by reading the code of `libxml++`

* api documents of `libxml2` sucks a lot
* `xpath.loads` and `xpath.xpath` barely work
* `lua_ref` to keep root selector alive for its children
make `libtool` under git's control
make .gitignore under git's control