Add support for custom contexts to Labkit v2 Snowplow

Why

Related to Add ADR-024 for usage data collection in Artifa... (gitlab-com/content-sites/handbook!19399)

Artifact Registry will use Snowplow tracking to collect usage data from the satellite service. The current support for Snowplow contexts is limited to simple self-described custom events, and AR will need to be able to either:

  1. Attach a gitlab_standard context for additional data.
  2. Attach a new custom context if gitlab_standard structure is not sufficient for Artifact Registry purposes. For example, AI Gateway uses it's own custom code_suggestions_context.

How

Modify TrackEvent to allow for passing contexts other than custom_event.