viewer: remove unneeded compile function, just use directly a link function
viewer: turn the odd prettifier directive into something more suitable

The use of a timeout function was a hack. Use a controller
instead. However, to avoid to get a separate scope or to add the content
as an attribute, we hard code what we want from the parent scope right
into the directive.

AngularJS directives are hard!
viewer: remove inappropriate left-padding on code snippet
viewer: highlight the current line number