Added the 'explicit' qualifier to class constructors

Hello,

I've added the 'explicit' qualifier both to single-argument class constructors and to the ones with more - but optional - arguments.
This is somewhat 'pedantic' but in my opinion it will help to avoid unwanted behavior during the development phase, like:

```c++
std::string name("foobar");
fl::Engine engine = name;
```

The code above can be successfully compiled *without* this patch, and it won't *with* this path.

Can you consider to merge this pull request?

Thank you very much.

Sincerely,

-- Marco