ResourceViewers enhanced with more visual updates and functionalities

The top panels of ResourceViewers are now less prominent when not in focus.

ResourceViewers now implement load() and resize(), but subclasses are expected to override them.

An error message screen can be displayed by calling `showError(errorText)`, and hidden by calling `hideError()`.

A progress bar can be shown by calling `showProgressBar(progressBarText)` and hidden by calling `hideProgressBar()`. The progress bar is initially set to 0%, and can be updated through the function `updateProgressBar(percentage, [progressBarText])`.