lib/output: migrate WriteMarkdown to shared Output implementation
Created by: bobheadxi
Migrates WriteMarkdown from sg.std.Output to the shared Output implementation.
As noted in https://github.com/sourcegraph/sourcegraph/pull/35641#discussion_r876715465 , this isn't too much functionality to add to the core lib/output
implementation, and enables other tooling to take advantage of nice formatting. It also means we can integrate with some internal features, such as color toggling and terminal width detection.
Follow-up to https://github.com/sourcegraph/sourcegraph/pull/35269