Replace Haneke struct and other minor refactorings

The `Haneke` struct prevents users from using fully qualified type names (e.g., `Haneke.Cache`).

Replaced by `HanekeGlobals` and `Shared`.