Add `etl::inplace_function`, based on the APIs of both `etl::delegate` and `std::function`. Uses static internal storage to allow the wrapper to be owning. Also implements `etl::invoke` and `etl::is_invocable` for implementation support.