* perf: relax the constraint of smart_forward_t.
* docs: update the version number.
* docs: add chapter 'Performance optimization' to the README.md.
* fix: fix bugs in MSVC with undefined class forward declaration.
* fix: add macro EMBED_VIRTUAL_INHERITANCE to obtain the theoretically maximum size of "pointers to member functions".
* fix: use __declspec(empty_bases) to force MSVC to perform empty base class optimization.
* refactor: rewrite the macro EMBED_DETAIL_REQUIRES based on the rule https://libcxx.llvm.org/CodingGuidelines.html#id11.
* chore: delete unused macro.
* refactor: BREAKING CHANGE the 'buffer_size' and 'is_copyable' is deprecated!
* test: API change.
* feat: add EMBED_NODISCARD for API: get_buffer_size and is_copyable.
* feat: enhance the macro EMBED_DETAIL_REQUIRES and use it to take place traditional 'enable_if' SFINAE, which will make it easy to use concepts(C++20) to refactor in the Embedded Function 2.1.x.
* test: add basic attributes test for the command table size.
* chore: add warning disable 4710 26495 for MSVC
* docs: add more information to README.md.
* feat: add benchmark for *Embedded Function*.
* fix: suppress "-Wuninitialized" in g++ when construct ebd::function.
* refactor: use bool_constant to refactor the std::integral_constant.