на 4-ом под карточками тоже работает, только в корневом элементе добавляете xmlns:app="schemas.android.com/apk/res-auto" а там где нужно использовать elevation:
app:elevation="4dp"
Ну изначально не верно то, что вы пытаетесь проинициализировать SurfaceView в конструкторе view и таким образом получаете объект, но не получаете его в своей иерархии представлений. Для реализации вашей проблемы можно использовать GLSurfaceView или SurfaceView но выше вью должно быть, например, отнаследовано от GLSurfaceView. Более подробно developer.android.com/reference/android/opengl/GLS...
Еще для использования этой репы нужно проследить, чтобы билдтулз были версии 23.0.х. После чего проверить, а не стоит ли у вас offline режим(это так, чтобы успокоить свою шизофрению) и сделать invalidate cache and restart
Если вам необходимо переопределить стандартное поведение систему - оптимальным вариантом будет переопределить реакцию на тачи для родителя - в вышем случае это LinearLayout. расширить класс LinearLayout и в нем определить onInterceptTouchEvent, onTouchEvent и dispatchTouchEvent