Add chat position API.

Adds a chat position API so messages can be also sent to the action bar. Currently the messages for the action bar are converted to legacy format so the colors are displayed there too. I just hope Mojang will fix this in the future so we can remove this without having plugin authors change their code.

### Example:
```java
player.sendMessage( ChatPosition.ACTION_BAR,
    new ComponentBuilder( "Action bar message" ).color( ChatColor.GREEN ).create() );
```
This will convert the `BaseComponent` message to the old format, and then it will be wrapped in a `TextComponent`. The TextComponent won't parse it again or anything like this, so at the end it's just like `{text:"§aLegacy formatted text§e!"}`. I don't think it is so much slower than the normal serializing.