Fixed init order issue

- Overridden component properties were getting set after the init message
- This was because the init message was sent in Entity::insertComponent
- We now codegen the init message explicitly, and it doesn't happen
  automatically in insertComponent
- And now it works as expected, all properties get initialized before
  the init message
- Added very beginning of string support in Compose