Structured model refactoring: Added factory for specific labels

Avoid calling `new CStructuredLabels();` directly - now calling `StructuredModel::structured_labels_factory()` on structured model.

Allows us to implement different label representations, so we can avoid to work with `DynamicObjectArray` of `StructuredData`.

@sonney2k: Have a look what I did to `MulticlassSOLabels`:
* Individual labels are now stored in a `SGVector<float>` instead of `DynamicObjectArray`.
* The subclasses of `StructuredData` are only used to pass labels around and for type checking, but not for storing/serialization/etc.
* Just a request for comments, as it's only prototype quality.