RF: use multiple inheritance for BaseVisualStim

same function, better code structure