deps: Update leveldb (Linux support)
ui: Use make_optional only when it's required
core: Add custom implementation of optional

Also add make_unique so that we don't rely on C++14 support
gfx: Add Linux support
Add Linux support, switch to gnu++1y (need ##__VA_ARG__ extension)