WIP - Version 0.5.0

The todo list will be growing...

## Todo

### Alert
- [x] Set passed title message
- [x] OK button

### Confirm
- [x] Set passed title message
- [x] OK button
- [x] Cancel button
 
### Prompt
- [x] Set passed title message
- [x] OK button
- [x] Cancel button
- [x] Input field
- [x] Set default input field value

### Common
- [ ] Finalize base theme. #187
- [x] Set proper `alertify--TYPE` class name
- [x] Handle attempt to open multiple dialogs at one time.
- [x] Keep focus inside dialog
- [x] Reset the focus to the last focused element before the dialog was open
- [x] Show cover when dialog opens
- [ ] Update ARIA attributes based on state
- [x] Keyboard shortcut - ESC = cancel, Enter = OK

### Questions 
- [ ] Add growl notifications? Or open separate repo...
- [ ] Allow dialogs to queue? #174

---

**This PR will most likely be long running and changing over time.**

---

## New look
### Alert
![image](https://f.cloud.github.com/assets/747616/1276890/57a243a4-2e9c-11e3-92dc-2f7174ed6a67.png)

### Confirm
![image](https://f.cloud.github.com/assets/747616/1276891/64dd7084-2e9c-11e3-9bbd-aaabc64a5354.png)

### Prompt
![image](https://f.cloud.github.com/assets/747616/1276893/7aa91cba-2e9c-11e3-9145-aa35c51f5222.png)

## New API & Usage
Only supports dialog at the moment. I am thinking of moving the growl notification into its own project. `0.5.0` moves away from dynamically creating the alert dialogs and now includes the markup directly in the page.

### Usage
```html
<!-- in the head tag -->
<link rel="stylesheet" href="PATH_TO/alertify.core.css">
<link rel="stylesheet" href="PATH_TO/alertify.default.css">

<!-- preferably just before the closing body tag -->
<div id="alertifyCover" class="alertify-cover alertify-hidden" aria-hidden="true"></div>
<section id="alertifyDialog" class="alertify alertify-close" aria-labelledby="alertifyTitle" aria-hidden="true">
    <div class="alertify-body">
        <p id="alertifyTitle" class="alertify-title"></p>
        <input type="text" id="alertifyInput" class="alertify-input" aria-hidden="true">
        <nav id="alertifyButtons" class="alertify-buttons">
            <button id="alertifyButtonCancel" class="alertify-button alertify-button-cancel" aria-hidden="true"></button>
            <button id="alertifyButtonOk" class="alertify-button alertify-button-ok" aria-hidden="true"></button>
        </nav>
        <a id="alertifyFocusReset" class="alertify-focus-reset" href="#" aria-hidden="true"></a>
    </div>
</section>

<script src="PATH_TO/alertify[.min].js"></script>
```
### Alert
```js
// basic
alertify.alert( 'Title' ).show();

// advanced
var alert = alertify.alert( 'Title' );
alert.ok = function () {
    // OK
};
alert.show();
```

### Confirm
```js
// basic
alertify.confirm( 'Title' ).show();

// advanced
var confirm = alertify.confirm( 'Title' );
confirm.ok = function () {
    // OK
};
confirm.cancel = function () {
    // Cancel
};
confirm.show();
```

### Prompt
```js
// basic
alertify.prompt( 'Title' ).show();

// advanced
var prompt = alertify.prompt( 'Title' );
prompt.ok = function ( val ) {
    // OK
    // val => Value of input field
};
prompt.cancel = function () {
    // Cancel
};
prompt.show();
```

### Extra methods
A few extra methods are available on each dialog.
```js
var alert = alertify.alert( 'Title' );
alert.onshow = function () {
    // called on dialog show
};
alert.onclose = function () {
    // called on dialog closed
};
alert.onfocus = function () {
    // called after focus to element has been set
};

alert.show(); // shows the dialog

// close() is available if a dialog must be closed programmatically, 
// it's automatically call on click of a button
alert.close(); // closes the dialog
```