Implement more dynamic api, implement mouse click
Added readme
throw exceptions instead of printing to stderr