Add CommonJS and AMD Compatibility + addChar() + removeChar() + text() + Bugfixes

In the presence of CommonJS / AMD, kineticjs-editable-text will return an object containing an ```init()``` method. KineticJS gets passed as an argument to ```init``` and will be extended with ```Kinetic.EditableText```. An example can be seen [here](https://github.com/mjhasbach/ceros-snake/blob/242abdaf173ed3cf511cc2f7230409f199820cd5/js/libs/highScores.js#L186).

```Kinetic.EditableText.addChar()```: Allows characters to be added to the kineticjs-editable-text field programmatically. This method re-uses existing code. It is used internally within kineticjs-editable-text [here](https://github.com/mjhasbach/kineticjs-editable-text/blob/1d7f7d89c2b7eb37597827e49aa27d501198a97e/js/kinetic.editable.js#L549) and [here](https://github.com/mjhasbach/kineticjs-editable-text/blob/1d7f7d89c2b7eb37597827e49aa27d501198a97e/js/kinetic.editable.js#L762). It can be used externally as follows:

    var field = new Kinetic.EditableText({ ... });

    field.addChar( 'a' )

```Kinetic.EditableText.removeChar()```: Allows characters to be removed from a kineticjs-editable-text field programmatically. This method re-uses existing code. It is used internally within kineticjs-editable-text [here](https://github.com/mjhasbach/kineticjs-editable-text/blob/1d7f7d89c2b7eb37597827e49aa27d501198a97e/js/kinetic.editable.js#L505) and [here](https://github.com/mjhasbach/kineticjs-editable-text/blob/1d7f7d89c2b7eb37597827e49aa27d501198a97e/js/kinetic.editable.js#L758). It can be used externally as follows:

    var field = new Kinetic.EditableText({ ... });

    // These two will remove the character to the left of the current cursor position
    field.removeChar( 'backspace' );
    field.removeChar( 8 );

    // These two will remove the character to the right of the current cursor position
    field.removeChar( 'delete' );
    field.removeChar( 46 )

```Kinetic.EditableText.text()```: A set/get function that mimics ```Kinetic.Text```'s method of the same name. It can be used as follows:

    var field = new Kinetic.EditableText({ ... });
    
    console.log( 'The current field text is: ' + field.text() );
    
    field.text( 'Matthew' )