Disposable fixup

- Implement IDisposable interface correctly, with sealed classes where possible for simplicity.
- Add using statement around undisposed local variables.
Actors / Traits aren't explicitly disposed when they die (we should fix this), so this cleanup code will no longer be run.