feat(dropdownToggle): support programmatic trigger & toggle callback

Closes #270
Closes #284
Closes #1447
feat(dropdownToggle): add support for `escape` key

Closes #1558