initial ptcloud code dump

Implements a new PointCloud data block in blender that can store &
display many mega-points in space, with optional per-point color.

I’ve been using scons, so cmake will undoubtedly need some tweaks in
order to build.
Fix CMake build with point clouds

- Add new CMakeLists.txt file for editors/ptcloud and corresonding
  library in macros.cmake

- Add new source and include files to CMakeLists in makerna and
  blenkernel

[#72670540]
don't use VBOs (yet) for ptclouds

Use client vertex arrays until we figure out the proper place to delete
GL buffer objects on ptcloud deletion. Performance feels similar.

I looked for how other object types do this cleanup but it seems only
meshes use VBOs via gpu_buffers.c while nearly everything else in all
of blender uses immediate mode. glBegin : glDraw[Array|Element]s ratio
is 484 : 84. Gasp!
add safety to ptcloud_use_color query

Don’t allow drawing with color when there is no color data. These flag
bits should be coupled. PC_DRAW_COLOR will become one of a few enum
values (draw single color, per-point color, false color (various)).
ptcloud property tweaks

Changed name of class & removed redundant text label as suggested by
Bishop.

Also hiding the has_color property in the UI, since it’s not really
useful. Fading the use_color property in the absence of color data as a
hint that you shouldn’t expect much in the 3D viewport.
spaces & braces

Cosmetic/style changes to more closely match blender coding standards:

— real tabs instead of 4 spaces (oops, editor settings)
— braces where 95% of people expect them
— fully embraced statement blocks, even for one-liners

No functional changes.
Merge branch 'floored-master' into ptcloud-72670540

[#72670540]