LSP server support for Lazarus IDE

Lazarus does not offer code completion and other nice additions for anything other than Object Pascal.

The purpose of this project is to allow the Lazarus IDE to function as a Language Server Protocol client:
this allows the IDE to use a Language Server to provide the necessary functionality for code completion,
function argument tooltips and so on.