Use $timeout

I tweaked the ng-websocket guts to use $interval and $timeout. This should allow for smoother unit testing - both for ng-websocket itself (as demonstrated) and for projects that use it.