Fixes layout shifts caused by lazy loading images #441
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

**Fixes #323
Changes proposed in this pull request:
Adds a database table which stores the image width and height after the image has been finally saved. Then, these values are used whenever an image is rendered with the image-preview template.
Reviewers should focus on:
To be able to use template variables inside CSS, the security feature DisallowUnsafeDynamicCSS from S9E needs to be disabled. I tried to find a way to only do this if the template and variable are of a matching type, but could not find such an option. I do not see any direct security implications, as the variable used inside the CSS is a purely server-side computed value. This prevents any user from exploiting CSS variables, despite enabling them. If this is absolutely not an option, JavaScript could be used to read the aspect ratio from an option-* tag and generate the proper CSS.