Add compile_views function and revamp Wyvern.View impl