Add JSHint static analysis and more documentation