Extract `projects#BlobController` context lines loading logic to its own service
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=21804)
</details>
<!--IssueSummary end-->
Extract `projects#BlobController` lines rendering logic to its own service or object when HAML rendering gets deprecated.
Currently we are maintaining the HAML rendering and JSON rendering under the same controller behind a cookie `vue_mr_discussions`
for incremental development reasons
## Discussion to be addressed
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/17845#note_64008329
issue