プログラムの生成をsuika::shader::makeProgramに変更

createProgram()は不要になったので削除。
未使用なのでincludeから<iostream>除外
関数に処理内容を記述したコメントを付加

ぱっと見内容を思い出せなかったので。特にcreate3dData。
配列で宣言しているのでsizeof(<配列名>)で直接サイズをとる
primitive restart indexを定数として定義
GLFW用のviewportを設定するコールバックをsuikaに移動

正方形のviewportを中央にウィンドウからはみ出さない最大のサイズで設定する。
三角形はひとつのみ描画することにする
テクスチャ座標を無駄に[0, 1]にマッピングしていたのを削除

デフォルトで`GL_TEXTURE_WRAP_*`はrepeatなので今回のテクスチャに関しては[0,1]に収めずとも良かった。
windowSizeCallbackにsuikaのものをつかう
テクスチャのバッファの名前を入れた変数を未使用により削除
windowSizeCallbackにはsuikaのものを使う
不要なので背景を描く処理を削除
シェーダのソースコードを別のファイルに分離
不要なglUseProgram()削除
VBOの作成とVAOの設定を分離
描画用のバッファに直接フィードバックを書き込むように変更

体感ではあるが描画の更新時にカクつきが発生しなくなった。
不要な<cmath>のインクルードを削除
initの処理をVAOの設定とプログラムの作成に分割
windowSizeCallbackはsuikaのものを使用する
改行文字が混在していたのでLFにそろえる