An MQTT javascript client that uses websockets and falls back to socket.io when websockets not available