Refactor errors notification system

Refer to #1524 for the briefing of this PR.

Refactors the song errors notification system, now the export project displays when errors occurred:

![2014-12-29-035448_905x296_scrot](https://cloud.githubusercontent.com/assets/347552/5566454/7d6152fe-8f0f-11e4-9403-c2c3470c64c5.png)

Also collects errors when effects or plugins can't be loaded.

This PR has the implication that we are now able to replace all of those message boxes with the `hasGUI` check for the simple `collectError` call which displays when exporting as well.

Oh, you commented **above** the code, i was looking at the wrong function, sorry.

I'm novice C++ too, but you should be able to do:

```cpp
   return ( m_errors->length() > 0 ); 
```

or to keep the existing logic (allows negative values for some silly reason):

```cpp
   return ( m_errors->length() != 0 ); 
```

and a bit more taboo, but [would probably work](http://stackoverflow.com/a/5189081/1466873)... 

```cpp
   return m_errors->length();
```