Make SSAEvent/SSAStyle less hacky

- fields use _data dict instead of dict inheriting and __missing__ hook
- mention _data in documentation as volatile detail
- use python names in constructors
- make SSAEvent.duration writable
- make SSAEvent.plaintext writable
- add __repr__ for both classes
- add SSAEvent.copy()
- move SSAStyle.is_valid_name() to is_valid_field_content()
- tests for both classes (SSAEvent needs some work)