[FEATURE] Automatically assigned ID for all Object components

This change post-processes the data saved into records and adds an automatic, unique ID to each object right before saving the data. The ID can then be used as `{object.id}` in templates and `$object['id']` in PHP.

Since the ID will be unique, it is ideal to use to name content areas if an Object contains any. Without this ID, only the array position or a manual ID could identify the Object, causing unexpected behavior when removing Objects containing content elements.

Fixes: #365 with some modifications: the actual issue will not be fixed until templates are migrated and such migration would potentially break content relations.