initial commit
fix some incompatibility with ie8
add keyboard support and fix bugs
fix all found issues + refactoring