Add event tracking with configurable backends

With the goal of centralizing event collection, this PR adds the option to use different "event trackers" or configurable backends for event collections, which can be specified in the Django project settings.

It provides three backends by default: one that uses the python logger, one the uses a MongoDB collection and one that saves events to a Django database.

This PR however does not addresses yet other problem related to "event tracking" (formally named "tracking logs").