micro:bit compatibility fixes: display.clear, Snake, and steadier speed
Scripts that clear a looping scroll before drawing now behave like real hardware, and microcontroller circuits regain their adaptive speed.

A short one, prompted by real classroom scripts.
display.clear() during a scroll
On a physical micro:bit, calling display.clear() while a looping display.scroll(..., loop=True) is running cancels the scroll and blanks the matrix, and whatever you draw next with set_pixel() appears. In the simulator the clear only blanked the matrix while the scroll kept running underneath, which broke any program that uses a scrolling title screen before gameplay, including the Snake script that surfaced this. The simulated board now matches the hardware: clear cancels the animation, and Snake plays.
While in there, worth repeating from the docs: display.off() does not blank the matrix on V1, use display.clear(). That one is faithful to real hardware.
Microcontroller circuits run at full speed again
A regression had the simulator holding microcontroller circuits at an overly cautious time step, which made boards feel sluggish even when nothing fast was happening. Adaptive step growth is restored, so an idle or slowly toggling MCU circuit runs at full speed and the solver still tightens automatically around sharp edges.
Fixes and improvements
- Restored the original board artwork after the naming pass earlier this week; saved projects keep their part identities.
- A transient NE555 output sag no longer flickers the toolbar status pill.
- Alert banners overlay the canvas instead of reflowing the simulator layout when they appear.
If a program behaves differently in de:volt than on your physical micro:bit, that is a bug by definition. Send it through Help → feedback, source included; the display.clear fix started life as exactly that kind of report.