[BUGFIX] Name generation for assets buggy on 4.5

This fixes some issues with incomplete (always-TRUE) checks on 4.5 and uses serialize() to avoid collisions on ArrayAccess sameness which would often occur on 4.5.

Replaces: #149