Exceptions are not allowed in __toString() magic methods. Catch them and trigger a user error instead.
Code cleanup
Fix typo
Refactor filesystem stream package

- Implement FilesystemStreamFactory to allow creating stream objects from a URL and register and unregister new stream types. Factory is implement as a singleton and is warmed up when Koowa is instantiated.
- Implement FilesystemStreamAdapter to expose FilesystemStream objects to the native PHP stream functions.
- Implement FilesystemStreamAbstract to work as a decorator for the native PHP stream functions.
- Implement FilesystemStreamBuffer to expose a memory and temporary file stream buffer.
Create template buffer using filesystem.stream.factory