Allow the prefix to be a lambda

This allows us to modify the filename name before generating the link —
essential when using a VM for development but editing in the native
environment.

In my initialiser I can put:

  f.prefix = ->(*args) do
    filename = args[0].sub '/vagrant', '/Users/jamie/projects/cognito'

"subl://open?url=file://#{filename}&line=#{args[1]}&column=#{args[2]}"
  end