bug fix: rewrite handler allocation dynamicly to correctly add shape and xrandr events