lots of changes

reorganize and fix some issues
current implementation state commented at the top
test very basic usage of phantomjs
update readme
add takeshot tool