add core implementation
add some new utilities to simplify core
clean up markup function
add default template
clean up bin script
add some basic tests for utils/markup
add travis-ci