Fix Dajax object visibility issue

## Problem Description

Currently `Dajax` object is not attach to the `window` object. This means it won't be visible to other code (`ReferenceError: Dajax is not defined`) if you use a minification process which wraps all of the minified files inside a closure (`function(){}())`).

Most of the minification libraries, including commonly used `django-pipeline` do that.

# Proposed solution

In my proposed solution, I've wrap `Dajax` object into a closure and attach it to the `window` object. I've also did some cleanup and changed the code to consistently use `$` everywhere instead of using `jQuery` in some and `$` in other places.

Attaching an object to `window` object is a fairly common thing to do if the code, like this one, is not built as a jQuery plugin.