For just 10 LEDs, a 4017 can do something dimilar to this (however it only has 1 LED on at a time.
However, there are ways of extending the outputs of the 4017 by cascading them (See
this datasheet, page 11).
With steering diodes on the outputs you can have each output also turn on adjacent LEDs (this will require 3 diodes per output (so 60) and a transistor (20).
Also required will be an oscillator to clock the device (you could use a 555).
A more simple circuit would use a microcontroller. With charlieplexing you only need 5 outputs to control 20 LEDs. Whilst programming for this is complex, the circuit is a lot simpler.
A microcontroller solution will probably require more than an 8 pin device (whilst they have up to 6 I/O pins, some are input only). Something like the 14 pin PicAxe 14M2 would work nicely.
Charlieplexing only allows a single LED to be on at a time (well, not exactly, but that's the easiest way) so you would have to decide which three, then rotate through them quickly so that they all appear to be on, then after a suitable delay, change to another set of three, and so on...