Add typing service and directive.

Hook up directive to chat box input changes (does not trigger a $digest).
Add typing-service.js to handle timeout logic.