qtscript: Add eventGroupSeen and improve eventArea.

- Now eventObjectSeen and eventGroupSeen
  are triggered for labels only.
- The new '.subscriber' property of OBJECT
  and GROUP labels controls which player's
  viewer object can trigger these events.
- eventArea now also supports '.subscriber',
  and no longer uses the '.player' property
  for that purpose.
- eventArea is fixed to work for overlapping areas.
- A new kind of label, RADIUS, is implemented,
  works similarly to AREA, just with different shape.
- Label list in jsdebug is updated to display
  the new label properties.
- Rename resetArea() to resetLabel(). Keep the
  original function for compatibility.

Patch originally by Per.
jscam: Update campaign lib and levels with new API.

- Simplify eventArea, which no longer needs
  subscriber specified by level scripts, as
  it's part of the label now.
- No longer poll for eventSeen.
- Use RADIUS labels when circular trigger areas
  were used in the original campaign.

refs ticket:4234