Implement API to set MenuButton icon

> http://www.tinymce.com/develop/bugtracker_view.php?id=6411

Implemented an API method which allows setting the icon of MenuButtons. If icon is already present it is changed, if icon is not present it is created, if icon is present and ```null``` is provided it is removed.

```js
// MenuButton provided by any plugin
var menuButton;

// Set icon (replace if icon already set, add if no icon is currently set)
menuButton.icon("alignleft");

// Unset icon and remove icon node if currently set
menuButton.icon(null);
```

This also fixes an issue where whitespace between icon + text would disappear when setting MenuButton's text via the ```.text()``` method.