Added a default key to rendered widgets - prevents fields losing focus when content around them changes.

In particular this was affecting default rendering methods, which display errors before invalid fields.

This can be overridden by passing a 'key' attr to BoundField.render()/asWidget()