Issue #1954892 by dawehner, David_Rothstein, tim.plunkett: Replace 'theme callback' and hook_custom_theme() with a clean theme negotiation system.