generate `el.id` in `init(el)` if `id` is empty

This change is intended to fix #6.