New re-usable component for Blob File Content

Technical discover: #196712 (comment 271152500)

Relevant for at least the following components:

View Screenshot
Snippet Screenshot_2020-01-14_at_12.28.34
File Screenshot_2020-01-14_at_12.28.05
Diff Screenshot_2020-01-14_at_12.27.41

However, the way we present information in Diff, even though might look similar, is technically completely different under the hood. Existing app/assets/javascripts/diffs/components/diff_content.vue component is much more complex than needed for Snippets and Files. It is very tightly coupled with the functionality of the Diffs to the point of being not-practical and irresponsible to make it work for Snippets and Files. However, since we have at least two places that would benefit from rendering the blob in the same manner, it makes sense to generalize it and abstract it into a new component.

A candidate for gitlab-ui component?

Doesn't make a lot of sense

💪 Reusability scenario suggestion: