add campaigns
levels should be groupable to form a campaign.
campaigns can also contain sub campaigns.
levels and campaigns also need:
- identifier (level already has this)
- name (levels current name is used as identifier, TODO split to identifier and name)
- description
- enter dialog (when first played this dialog is shown) (optional)
- finish dialog (when (first?) finished this dialog is shown) (optional)
- requirements (a set of identifiers that need to be completed first)
- state (locked -> unlocked -> started -> finished)