I'm not the first person who has battled the matter of WordPress stripping HTML from widget titles. There are a number of custom widgets out there that allow you to add e.g. links to titles, but I specifically wanted the ability to add br and span tags.
I came across this tutorial: http://ponderwell.net/2011/05/how-to-use-html-in-wordpresss-widgets-title/ which tells you how to create a custom widget file based on the native WP default-widgets.php.
That gets me nearly there, but both with using his method directly, or adapting it to customize an existing widget (Enhanced Text Widget), I'm getting an output of <br> and <span> instead of proper HTML encoding. I saw that somebody in the comments mentions html_entity_decode() and have tried a few things, but honestly I don't know PHP well enough to get it to work.
If I have to do this in functions.php plus a custom_widgets.php file, I'll make that work, but for portability's sake, I'd prefer to accomplish the task as a widget plugin.
What do I need, specifically, to get those tags properly encoded now that I've come this far? I did find the solution offered by Chris here: Unfiltered html in widget title not working, but clearly am not putting that code in the correct place. (I did get Amy's own self-solution to work in the functions.php, but not sure if that's a great way of doing it....)