Support inverted text "boxes" with customizable decorations
Description
We should support inverting text objects in PcbNew / footprint editor. This means creating a polygon "text box" with the letter shapes punched out. This text box shape should support some decoration on the end caps such as rounded or angled caps.
This allows (among other things) more pleasant silkscreen annotations of pins: https://twitter.com/arturo182/status/1348415792254169089
Split off from #4122
KiCad Version
Application: Pcbnew
Version: (5.99.0-8184-g46c4727783), debug build
Libraries:
wxWidgets 3.1.4
libcurl/7.71.1-DEV Schannel zlib/1.2.11
Platform: Windows 10 (build 19041), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
Date: Jan 5 2021 21:03:10
wxWidgets: 3.1.4 (wchar_t,STL containers)
Boost: 1.73.0
Curl: 7.71.1-DEV
ngspice: 32
Compiler: Visual C++ 1928 without C++ ABI
Build settings:
KICAD_SCRIPTING=OFF
KICAD_SCRIPTING_MODULES=OFF
KICAD_SCRIPTING_PYTHON3=OFF
KICAD_SCRIPTING_WXPYTHON=OFF
KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
KICAD_SCRIPTING_ACTION_MENU=OFF
KICAD_SPICE=ON
KICAD_STDLIB_DEBUG=OFF
KICAD_STDLIB_LIGHT_DEBUG=OFF
KICAD_SANITIZE=OFF